import axios from 'axios'
import {ElMessage} from 'element-plus'

const api = axios.create({
    baseURL: import.meta.env.VITE_UPLOAD + '/',
    timeout: 10 * 1000
})


api.interceptors.request.use(config => {
    // @ts-ignore
    config.headers.Authorization = 'Bearer ' + localStorage.getItem('token')
    return config // 将配置完成的config对象返回出去 如果不返回 请求讲不会进行
}, err => {
    // 请求发生错误时的相关处理 抛出错误
    Promise.reject(err)
})


// @ts-ignore
api.interceptors.response.use((res: any) => {
    return Promise.resolve(res.data)
}, err => {
    var str = '服务器错误'
    if (err.response === undefined) {
        str = err.message
    } else if (err.response.status === 404) {
        str = '404请求地址不存在'
    } else if (err.response.status === 401) {
        str = '登录权限已过期，请重新登录'
    } else {
        if (err.response.data) {
            str = err.response.data
        }
    }
    ElMessage({
        message: str,
        type: 'error',
    })
    return Promise.reject(err)
})

export default api
